﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace TeBigCoreApi.Models.Today
{
    public class CaseContent
    {
        public string FContent { get; set; }
    }

    public class CaseXY : CoordData
    {
        public string FTypeCode { get; set; }
        public string FContent { get; set; }
    }

    public class MajorCaseInfo
    {
        public DateTime FDate { get; set; }
        public string FDeptCode { get; set; }
        public string FTypeCode { get; set; }
        public string FTypeName { get; set; }
        public string FContent { get; set; }
    }

    public class CaseDeptStat
    {
        public string FDeptCode { get; set; }

        public string FTypeCode { get; set; }
        public string FTypeName { get; set; }

        public int FFeedback { get; set; }
        public int FDeal { get; set; }
        public int FCount { get; set; }
    }

    public class CaseGroupStat
    {
        public string FDisplayName { get; set; }

        public string FTypeCode { get; set; }

        public int FFeedback { get; set; }
        public int FCount { get; set; }
    }

    public class CaseDetailStat
    {
        public string FTypeCode { get; set; }
        public string FTypeName { get; set; }

        public int FCount { get; set; }
    }

    public class CaseHourStat
    {
        public DateTime FDateTime { get;set; }
        public int FCount { get; set; }
    }

    public class QueryCaseHourStatRequest: DateTimeRequest {}
    public class QueryCaseHourStatResponse : ListResponse<CaseHourStat> { }

    public class QueryCaseContentRequest: DateTimeRequest {}
    public class QueryCaseContentResponse : ListResponse<CaseContent> { }

    public class QueryCaseDetailStatRequest : DateTimeRequest
    {
        public string TypeCode { get; set; }
    }

    public class QueryCaseDetailStatResponse : ListResponse<CaseDetailStat> { }

    public class QueryCaseStatRequest : DateTimeRequest { }

    public class QueryCaseStatResponse : ListResponse<CaseDeptStat>
    {
        public List<CaseGroupStat> AllStat { get; set; } = new List<CaseGroupStat>();
    }

    public class QueryCaseXYRequest : DateTimeRequest { }

    public class QueryCaseXYResponse : ListResponse<CaseXY> { }

    public class QueryCaseInfoRequest : DateTimeRequest { }

    public class QueryCaseInfoResponse : ListResponse<MajorCaseInfo> { }
}
